#pragma once

#include <math.h>
#include <list>
#include <algorithm>
#include <assert.h>
#include <time.h>

#include "ANN_Node.h"
#include "InputNode.h"
#include "OutputNode.h"
#include "BPNode.h"
#include "Tube.h"
#include "BPNet.h"

#ifdef _DEBUG
#	define DEBUG(format, ...) fprintf(stderr, format, ##__VA_ARGS__)
#else
#	define DEBUG(format, ...)
#endif

#define NODE_INIT_VALUE 0.0
#define TUBE_INIT_VALUE 0.0
#define WEIT_INIT_VALUE ((double)(rand()%10 + 1)/10.0)
#define VALV_INIT_VALUE 1.0
#define VALV_WEIT_INIT -0.1
#define EPSILON 0.00


namespace ann
{

inline double Tansig( const double p_dValue )
{
    return 1.0 / ( 1.0 + exp( -p_dValue ));
}

}
